﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QldtSdh.DAL.Models;
using QldtSdh.GUI.DuLieu;

namespace QldtSdh.BLL
{
    public class BizHinhThucHoc
    {
        public static List<string> GetList()
        {
            var lst = new List<string>() { 
                    HinhThucHoc_LyThuyet,
                    HinhThucHoc_ThucHanh
                };
            lst.Sort();
            return lst;
        }

        public const string HinhThucHoc_LyThuyet = "Lý thuyết";
        public const string HinhThucHoc_ThucHanh = "Thực hành";
    }

    public class BizHinhThucThi
    {
        public static List<string> GetList()
        {
            var lst = new List<string>() { HinhThucThi_TuLuan, HinhThucThi_VanDap };
            lst.Sort();
            return lst;
        }

        public const string HinhThucThi_TuLuan = "Tự luận";
        public const string HinhThucThi_VanDap = "Vấn đáp";
    }

    public partial class BizHocPhan
    {
        public static HocPhan GetByMaHocPhan(string maHocPhan, CEMS4UG_DHKHContext db = null)
        {
            if (db == null)
                using (var db2 = CEMS4UG_DHKHContext.GetContext())
                    return GetByMaHocPhan(maHocPhan, db2);
            else
                return db.HocPhanDbSet.Where(e => e.MaHocPhan == maHocPhan).FirstOrDefault();
        }

        public static void BoSung(HocPhan obj, CEMS4UG_DHKHContext db = null)
        {
            if (db == null)
                using (var db2 = CEMS4UG_DHKHContext.GetContext()) BoSung(obj, db2);
            else
            {
                var n = db.HocPhanDbSet.Count(e => e.MaHocPhanGUID == obj.MaHocPhanGUID || e.MaHocPhan == obj.MaHocPhan);
                if (n > 0)
                    throw new Exception("Học phần đã tồn tại");

                var _hp = db.HocPhanDbSet.Where(e => e.MaHocPhan == obj.MaHocPhan).FirstOrDefault();
                if (_hp != null)
                    throw new Exception("Học phần đã tồn tại");

                db.HocPhanDbSet.Add(obj);
                BizNhatKyHoatDong.LogAndCommitInsert2(obj, obj.MaHocPhanGUID, LOAIDOITUONG.HỌC_PHẦN, db);
            }
        }
    }
}